package com.hangxin.system.dao.impl;

import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;

import com.hangxin.commons.dao.impl.BasicDaoImpl;
import com.hangxin.commons.util.PageModel;
import com.hangxin.system.dao.SyslogDao;
import com.hangxin.system.model.Syslog;
import com.hangxin.system.sql.SyslogSql;

/**
 * 
 * 类名称：SyslogService.java
 * <P/>
 * 类描述： 系统日志操作的Dao的接口的实现类
 * <P/>
 * 创建时间：2014年4月1日
 * <P/>
 * 创建人： 冯奇
 * <P/>
 * 联系方式： 1726021389@qq.com
 * <P/>
 * 修改人：李志远
 * <P/>
 * 修改时间：2014年4月16日
 * <P/>
 * 修改备注：添加注释说明
 * <P/>
 * 版本：v1.0
 * 
 */
@Repository
public class SyslogDaoImpl extends BasicDaoImpl implements SyslogDao
{
	private static final Logger logger = LoggerFactory.getLogger(SyslogDaoImpl.class);



	/**
	 * 
	 * 功能描述：添加系统操作日志信息
	 * <P/>
	 * 创建时间：2014年4月16日
	 * <P/>
	 * 创建人： 李志远
	 * <P/>
	 * 联系方式： 1726021389@qq.com
	 * 
	 * @param syslog
	 */
	public Integer save(Syslog syslog)
	{
		Integer itg = 0;
		try
		{
			itg = this.update(SyslogSql.SAVELOG, new Object[] { syslog.getLoginid(), syslog.getLoginname(), syslog.getCompanyname(), syslog.getLogtype(), syslog.getModular(), syslog.getContent(),syslog.getAddtime(), syslog.getUserid() });
		} catch (Exception e)
		{
			logger.debug(e.getMessage());
			throw new RuntimeException(e);
		}
		return itg;
	}



	/**
	 * 
	 * 功能描述：系统日志分页查询
	 * <P/>
	 * 创建时间：2014年4月16日
	 * <P/>
	 * 创建人： 李志远
	 * <P/>
	 * 联系方式： 1726021389@qq.com
	 * 
	 * @param pageModel
	 * @param paramscount
	 * @param params
	 * @param dysql
	 * @return
	 */
	public PageModel<Map<String, Object>> getLogs(PageModel<Map<String, Object>> pageModel,Object[] paramscount,Object[] params)	{
		String sql="select * from syslog where content like ? limit ?,?";
		String sqlcount="select count(id) from syslog where content like ?";
		
		
		return this.listByObject(sqlcount, sql, pageModel, paramscount, params);
		
	}



	/**
	 * 
	 * 功能描述：根据loginid查询用户信息
	 * <P/>
	 * 创建时间：2014年4月17日
	 * <P/>
	 * 创建人： 李志远
	 * <P/>
	 * 联系方式： 1726021389@qq.com
	 * 
	 * @param loginId
	 * @return
	 */
	@Override
	public Map<String, Object> findMapByLoginId(String loginId)
	{
		String sql = "select t.id,t.USERNAME,t.STATE,s.NAME,c.NAME as companyname from logininfo t,sys_employee s,company c where t.EMPLOYEEID=s.EMPLOYEE_ID AND t.COMPANYID = c.id and t.id = ?";
		Object[] params = new Object[] {loginId};
		return this.findByMap(sql, params);
	}


	/**
	 * 
	 * 功能描述：根据loginid分页查询
	 * <P/>
	 * 创建时间：2014年4月17日
	 * <P/>
	 * 创建人： 李志远 
	 * <P/>
	 * 联系方式： 1726021389@qq.com
	 * 
	 * @param pageno
	 * @param pages
	 * @param content
	 * @return
	 */
	@Override
	public PageModel<Map<String, Object>> pagebyLoginId(PageModel<Map<String, Object>> pageModel, Object[] paramscount, Object[] params, String dysql)
	{
		return this.listByObject(SyslogSql.LOGCOUNTBYLOGINID.toString().replace(":dynamic", dysql), SyslogSql.LOGPAGEBYLOGINID.toString().replace(":dynamic", dysql), pageModel, paramscount, params);
	}

}
